#!/usr/bin/python

import logging
import time

from util.settings import *

__all__ = ['logger']


def _init_logger():
    # 第一步，创建一个logger
    my_logger = logging.getLogger()
    my_logger.setLevel(logging.INFO)  # Log等级总开关

    # 第二步，创建一个handler，用于写入日志文件
    rq = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))
    log_path = os.path.join(BASE_DIR, 'log/')
    if not os.path.exists(log_path):
        os.mkdir(log_path)
    log_name = os.path.join(log_path, rq + '.log')
    logfile = log_name
    fh = logging.FileHandler(logfile, mode='w')
    fh.setLevel(logging.DEBUG)  # 输出到file的log等级的开关
    ch = logging.StreamHandler()
    ch.setLevel(logging.INFO)  # 输出到console的log等级的开关

    # 第三步，定义handler的输出格式
    formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)

    # 第四步，将logger添加到handler里面
    my_logger.addHandler(fh)
    my_logger.addHandler(ch)

    # 日志
    my_logger.info('日志模块初始化完成')
    return my_logger


logger = _init_logger()
